package com.airsystem.pos.bengkel.entity.wrapper;

import java.math.BigDecimal;

import com.airsystem.pos.bengkel.entity.DetailOrderLayanan.Metode;
import com.airsystem.pos.bengkel.entity.OrderLayanan;
import com.airsystem.pos.bengkel.view.dialog.ServiceOrderDialog;

/**
 * This class contains data for displaying Service Order history,
 * <br>
 * in {@link ServiceOrderDialog} view.
 * <br>
 * 
 * @author Budi Oktaviyan <budi.oktaviyan@icloud.com>
 */
public class OrderLayananWrapper {
	/*
	 * "Tanggal Transaksi", "Pelanggan", "Total Kendaraan",
	 * "Total Sparepart", "Total Layanan", "Total Harga", "Pembayaran"
	 */
	private final OrderLayanan orderLayanan;

	private final String tanggalTransaksi;
	private final String pelanggan;

	private final int totalKendaraan;
	private final int totalSparepart;
	private final int totalLayanan;

	private final BigDecimal totalHarga;

	private final Metode metode;

	public OrderLayananWrapper(OrderLayanan orderLayanan, String tanggalTransaksi, String pelanggan, int totalKendaraan,
							   int totalSparepart, int totalLayanan, BigDecimal totalHarga, Metode metode) {
		this.orderLayanan = orderLayanan;
		this.tanggalTransaksi = tanggalTransaksi;
		this.pelanggan = pelanggan;
		this.totalKendaraan = totalKendaraan;
		this.totalSparepart = totalSparepart;
		this.totalLayanan = totalLayanan;
		this.totalHarga = totalHarga;
		this.metode = metode;
	}

	public OrderLayanan getOrderLayanan() {
		return orderLayanan;
	}

	public String getTanggalTransaksi() {
		return tanggalTransaksi;
	}

	public String getPelanggan() {
		return pelanggan;
	}

	public String getTotalKendaraan() {
		return String.valueOf(totalKendaraan);
	}

	public String getTotalSparepart() {
		return String.valueOf(totalSparepart);
	}

	public String getTotalLayanan() {
		return String.valueOf(totalLayanan);
	}

	public String getTotalHarga() {
		return String.valueOf(totalHarga.toBigInteger());
	}

	public String getMetode() {
		switch (metode) {
		case TUNAI:
			return "Tunai Semua";
		case HUTANG_1_MINGGU:
			return "Hutang 1 Minggu";
		case HUTANG_2_MINGGU:
			return "Hutang 2 Minggu";
		case HUTANG_3_MINGGU:
			return "Hutang 3 Minggu";
		case HUTANG_4_MINGGU:
			return "Hutang 4 Minggu";
		case BOTH:
			return "Tunai dan Hutang Mingguan";

		default:
			return "Data tidak diketahui";
		}
	}
}